package com.lyc.wanandroid_kotlin.ui.activity.rank.mvp.contract

import com.lyc.wanandroid_kotlin.base.IModel
import com.lyc.wanandroid_kotlin.base.IPresenter
import com.lyc.wanandroid_kotlin.base.IView
import com.lyc.wanandroid_kotlin.bean.BaseListResponseBody
import com.lyc.wanandroid_kotlin.bean.CoinInfoBean
import com.lyc.wanandroid_kotlin.bean.HttpResult
import io.reactivex.Observable

/**
 * ClassName:com.lyc.wanandroid_kotlin.ui.activity.rank.mvp.contract
 * Description:
 */
interface RankContract {

    interface View : IView {
        fun showRankList(body: BaseListResponseBody<CoinInfoBean>)
    }

    interface Presenter : IPresenter<View> {
        fun getRankList(page: Int)
    }

    interface Model : IModel {
        fun getRankList(page: Int): Observable<HttpResult<BaseListResponseBody<CoinInfoBean>>>
    }
}